package com.ktgj.customer.service;

import java.util.List;

import com.ktgj.customer.domain.TravelGroupNumber;
import com.ktgj.customer.domain.TravelGroupNumberDto;
import com.ktgj.customer.domain.vo.GroupNumVo;
import com.ktgj.customer.domain.vo.SetOffTimeVo;
import org.springframework.web.bind.annotation.RequestBody;

import javax.servlet.http.HttpServletRequest;

/**
 * 旅游团号Service接口
 * 
 * @author ruoyi
 * @date 2021-10-26
 */
public interface ITravelGroupNumberService 
{
    /**
     * 查询旅游团号
     * 
     * @param numberId 旅游团号ID
     * @return 旅游团号
     */
    public TravelGroupNumberDto selectTravelGroupNumberById(Long numberId);

    /**
     * 查询旅游团号列表
     * 
     * @param travelGroupNumberDto 旅游团号
     * @return 旅游团号集合
     */
    public List<TravelGroupNumberDto> selectTravelGroupNumberList(TravelGroupNumberDto travelGroupNumberDto);

    /**
     * 新增旅游团号
     * 
     * @param travelGroupNumberDto 旅游团号
     * @return 结果
     */
    public int insertTravelGroupNumber(TravelGroupNumberDto travelGroupNumberDto);

    /**
     * 修改旅游团号
     * 
     * @param travelGroupNumberDto 旅游团号
     * @return 结果
     */
    public int updateTravelGroupNumber(TravelGroupNumberDto travelGroupNumberDto);

    /**
     * 批量删除旅游团号
     * 
     * @param numberIds 需要删除的旅游团号ID
     * @return 结果
     */
    public int deleteTravelGroupNumberByIds(Long[] numberIds);

    /**
     * 删除旅游团号信息
     * 
     * @param numberId 旅游团号ID
     * @return 结果
     */
    public int deleteTravelGroupNumberById(Long numberId);

    /**
     * 查询出发时间详情
     * */
    public List<SetOffTimeVo> setOffTimeVoList(Long groupId);

    /**
     * 团号列表
     * */
    public List<TravelGroupNumber> groupNumList(GroupNumVo groupNumVo);

    /**
     * 新增团号
     * */
    public int insertGroupNum(HttpServletRequest request, TravelGroupNumber travelGroupNumber) throws Exception;

    /**
     * 查询待修改的团号
     * */
    public TravelGroupNumber selGroupNum(Long id);

    /**
     * 修改团号
     * */
    public int updateNum(HttpServletRequest request, TravelGroupNumber travelGroupNumber) throws Exception;

    /**
     * 团号上下架操作
     * */
    public int operate(Long type, Long id);
}
